home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / bbs / doorinfo.zip / LOADTLCF.C < prev    next >
C/C++ Source or Header  |  1997-05-14  |  2KB  |  72 lines

  1.  
  2. /*
  3. ** This is the loader program for the tlcfdemo door, which is just a way
  4. ** of demonstrating multi-player doors in Falken.
  5. **
  6. ** This sample implements the classic approach of having a small 'loader'
  7. ** program which loads and executes the real door, the suspends itself.
  8. ** When the player exits the real door, this program is awakened, and
  9. ** exits.  Falken sees the exit, and puts the user back at the main menu.
  10. **
  11. */
  12.  
  13. #include "stdio.h"
  14. #include "doorutil.h"
  15.  
  16. main(int argc, char *argv[])
  17. {
  18.     int j;
  19.  
  20. /*
  21. ** Basic Falken doors initialization
  22. */
  23.  
  24.     init();
  25.  
  26. /*
  27. ** the real door (tlcfdemo.exe) looks for the name 'tlcfdemo' in the
  28. ** doors_id field of the user record.
  29. */
  30.  
  31.         strcpy(myuser->doors_id, "tlcfdemo");
  32.  
  33. /*
  34. ** if 'tlcfdemo.exe' has not yet been loaded, we have to do it.
  35. ** if it has, then it will see the new player in it's normal
  36. ** processing loop.
  37. */
  38.  
  39.         hog();            /* we need to stop multitasking momentarily */
  40.  
  41.         j=check_tcb_names("tlcfdemo");
  42.  
  43.         nohog();
  44.  
  45.         if (j==0)    /* main prog not loaded yet! */
  46.     {
  47. /*
  48. ** since tlcfdemo.exe is not yet active, we will load it.
  49. ** the load_a_door function will load it, run it, and send
  50. ** an initialization event to it.  We use priority 5 which is
  51. ** low enough to let everything run.
  52. */
  53.                 
  54.                 if (load_a_door("tlcfdemo.exe", 5) < 0)
  55.         {
  56.                         qprintf("Cannot load TLCFDEMO!\r\r");
  57.             delay(2);
  58.             exit(0);
  59.         }
  60.     }
  61. /*
  62. ** the tlcfdemo door is now active, one way or another.
  63. ** we suspend, until it issues a wakeup() for us.
  64. */
  65.     suspend();
  66. /*
  67. ** we got woke up.  time to leave.
  68. */
  69.  
  70.     exit(0);                    /* when we wake up - we die! */
  71. }
  72.